Use EMCLI to update OEM Oracle Home Path
Assuming your DB target name as seen in EM is ORCL11.WORLD and you want to set it's Monitoring Configuration's Oracle Home to /oracle/product/11.2.0.4, the syntax would be the following:

emcli modify_target -type='oracle_database' -name='ORCL11.WORLD' -properties='OracleHome:/oracle/product/11.2.0.4'


Probably would be similar approach for Listeners, ASM, etc.

Version note: This worked for me on EM 12cR4.