OTA? Well the Ardiuno Uno Rev 3 doesn’t have WiFi to begin with so it needs a whole WiFi capable chip (and level shifting chips) attached to it, otherwise over-the-air updates are impossible.
The ESP8266 has a library that enables it to program an Uno via the ISP port (and an SPI protocol): Arduino/libraries/ESP8266AVRISP at master · esp8266/Arduino · GitHub
There’s also the project GitHub - jeelabs/esp-link: esp8266 wifi-serial bridge, outbound TCP, and arduino/AVR/LPC/NXP programmer that turns the ESP8266 into a (among other things) serial programmer, so the normal Arduino-style programming via only UART TX/RX and reset can be used.
There was also a topic about that at Set network port for upload?.