Can I program 5V ATmega328P using 3.3V ICSP bus?
This should work fine.  As long as the 3.3v high level is high enough to register as a high level on the AVR, this should work correctly.  

You should also add series resistors for current limiting so that the 5v level from the AVR pins do not damage the input on the SoC.