I had my check engine light come on and off for over a year. It
was a loose gas cap. If you look on your gas cap it will tell you
that. After you tank up, Make sure to twist gas cap on tight. It
solved my problem, and it may solve yours. I hope this can help someone.