anything can be going wrong in ur engine compartment best bet is to take it to a shop and have the do a diagnostics test on it (usually about $60-$70) and they will tell u exactly whats goin wrong.
Take it to an autozone or advanced auto parts and have them pull up a code to see whats wrong, its free. There's a bunch of reasons that light could get set off.