got a 07 yukon, check engine light has been on for about a month now, at first i thought it was the gas cap, but the light has never went off so its not the cap, past few days the car is starting to idle low and hesitate at low speeds, what could be the problem ?