Sounds like your leaving the gas cap loose, filling gas when running, or adding too much gas. The check engine light does not come by the odometer, next time the light is on bring your car some where to pull the code(dealer)
When the check engine light comes on for a loose gas cap, filling when running, or too much gas this is one of the only things the light will reset itself after about 1,000 miles or so.
The maint req'd light will come on every 7500 miles or so indicating its time for maintenance