Can I program an MCU directly from USB if it supports USB?
If a microcontroller has USB functionality, can I program it directly from a USB port?


That depends entirely on the microcontroller.

In the case of the STM32F070, the answer is "no". While this part supports USB, its bootloader only supports programming over the USART. Another option to consider for programming is SWD.