Reprogramming 328PU using Mega8 & SD card

Yes, it is certainly possible for an ATmega8 and SD card to send a .HEX file from the SD card to the serial inputs of an Arduino with a 386p such that they are written to the 328p FLASH. A good place to start might be the ArduinoISP which receives the same sort of STK500v1 messages that the bootloader is expecting to get over the serial link.