It can still be the PCM. Just because it runs, doesn't mean it is good. All PCM's have a default "limp home" mode that it will sometimes go into, so you can "get it home", or to a repair shop.
Even though the modis couldn't communicate with the PCM, did your mechanic check all the fuses??? There is a fuse for the PCM that could have blown. Check all your fuses to make sure that they are good. If they all are, then you might need a new/used PCM.
ASE MASTER AUTO, MED/HEAVY TRUCK, & SCHOOL BUS
MASTER EVT, FIRE AMBULANCE & POLICE