The question was, Can it be done? The answer is yes. The real question is "Should" it be done? The answer is, no, not unless it is an emergency. But also let's clarify winter, because we are having a pretty mild winter, so there's kinda not a problem this year so far. I'll refrence "below freezing" from this point forward.
As a certified and licensed roofing contractor, my reputation is on the line. I debate this topic quite often with other roofing contractors who seem to care more about profit than a job well done. Well, I can tell you from past experience having been a professional roofer for 14 years as of the time of this posting, that the chance for failure increases exponentionally when installed below freezing. It's better just not to risk it.
Personally I will not, unless absolutely necessary and the customer signs a disclaimer of limited liability, install a roof below freezing and really really want to install the roof at 40 or above. The shingles need to seal, and will not seal unless they warm to about 70 degrees F ambient temprature. This does not mean it needs to be 70 outside, because the shingles will warm from the sun.
So what can be done to install the roof below freezing? Well first, the roof should not be gun nailed below freezing. This is because the shingles become brittle and it's easier to "blow through" with your nails. It's also harder to regulate air pressure when it is cold, I speculate because of barometric pressures, but I am just guessing. Therefore the roof should be hand nailed. This takes more time. Furthermore since the seal strips will not seal, they must be manually sealed with proper compatible adhesives. This will also take more time, and more material. I once spoke with a roofer in Alaska who builds tents around the houses he is working on and covers them with tarps and heats with propane heaters. Now that takes real time! The question is, are you prepared to pay for this extra time? Can you wait a few more weeks?