It is clearly C.
If I were to ask you what caused you to have red hair- it's the genes. Now, if you got old and your hair turned white, age is the cause. If you dyed it green, the dye was the cause.
Think of it this way. Say you took Vulpes vulpes (red fox) and dumped him in the arctic. Why WOULDN'T he turn white in the winter? He is exposed to the same food, habitat, and sunlight. So none of these are the factors that influence the arctic fox's colors.
Had the question read something akin to "What factors/selective pressures favored the fox's ability to turn white in the winter?" then the answer would be habitat. Selection is the not the CAUSE of traits, it simply weeds out the traits that do not help an organism survive. Mutations/genes CAUSE the traits.
(unless you're talking about a trait that is influenced by environmental factors, like short stature due to starvation as a child, or lobsters that lack certain pigments because the chemical precursors are not present in their diet, but that is clearly not what is going on here)
And, for the record, I teach High School Biology. This does not make me an expert, but I think that the question was worded fine. You teacher is probably trying to kill the misconception that "organisms change because of their environment" S/He would rather you understood it correctly "organisms change, then the environment determines which survive to have offspring"