Mine came on and the short answer was I had a habit of topping off my fuel. This causes the charcoal in the canister assy to raise up and clog the fuel while passing. It can also be caused from a worn out gas cap, which is supposed to be checked at 60xxx mi. I replaced my cap, put fuel additive into my tank and the light went off after 2 days. You can do this, after 2 days disconnect the battery cables for 5 minues, then reconnect them. if the light comes back on you should have it checked out. a canister was estimated to cost $350.
Hello, Disconnect the battery cables completely for a few minutes. WARNING: you will loose all radio setting and seat settings as well as DELETE all engine codes.
p.s. I am no expert but I did this and it worked and I lost engine codes.