What causes Toyota Highlander check engine light?

I have a 2003 Highlander. Whenever I get the oil changed, the check engine light comes on within a couple of days. I finally figured out that there is a hose under the air filter case that gets disconnected when the filter is checked. Just reattach the hose and the light will reset after a few restarts of the engine.