I have a 2003 Toyota celica and the car is starting up and running perfect but the check engine light is on. I had it checked and the codes are saying cylinders 1, 2 & 3 are mis firing. The plugs have been changed and everything looks great. What could cause those codes and the light to come on. I took it to two garages and they drove it and said the vehicle isn't hesitant and idles perfect to just wait it out and when it starts running rough or hesitant on acceleration or start up to bring it back. What could be causing this problem?