I have a 2011 GMC Terrain with ~143,000 miles. During a recent long trip from MA to TX, I got a check engine light with the misfire code P0300 (along with some ABS codes). Took it to the shop in TX, changed the spark plugs and some cylinder coils, and then got the exact same codes on the way back to MA. Both of these codes came on about 1000 miles into the trip, and when on cruise control going uphill. I have not been able to recreate it during normal driving.
Any idea what could be causing it? The first mechanic who changed the spark plugs/coils was adamant that was the problem because my regular shop was doing it wrong. When I got the same codes, he said I should’ve let him take apart the engine and then he would’ve found it. Is this true? My regular shop said to just wait until I get the codes again because they’ve been cleared and they can’t recreate it, and an engine tear down isn’t worth it.