With some finagling, I believe ATMegas with the Arduino bootloader can be programmed using straight serial - you just have to time the reset pulse carefully.
I don’t think you can use it as an actual AVR programmer for new bootloaders, fuses etc. though. You need a full MCU for that. If you have a spare Arduino or ATMega that is happy, you can use ‘Arduino as ISP’ to do it.