You are right. I forgot this point.
Actually the epcs mif points to a epcs_controller_boot_rom.hex file which is automatically added by Quartus to your project folder whenever you instantiate the epcs component.
If you want to use a custom boot loader, you must rename your hex this way and replace the default one.
The tricky part is that the regular file is copied again from Quartus library each time you regenerate the system with Qsys; then you must remember to replace it again with the custom one whenever you make any change in Qsys, otherwise fpga would configure epcs with the standard boot loader and your nios application won't start.
I never bothered if there's a better way to do this, although I think so.