With sufficient time, you could construct a shelter. You could get your power from nuclear reactors, build greenhouses, living spaces, oxygen generators, and build the industrial capability to repair problems as they arise.
But “sufficient time” is measured here in YEARS. It’d be an awesomely complex and expensive undertaking to save enough people to keep a breeding population going - it would be the biggest industrial undertaking in human history. We’re not talking about a “Shelter,” really, we’re talking about constructing something as large and as complicated as a big city. To ensure truly self-sustaining capability it’s got to be very big, awesomely complex, and capable of further exploiting the Earth’s chilly resources. And it’s got to be big, big, big - big enough to have all the technical, industrial, and social skills included among the saved population.
The complexity of keeping the reactors going, just that, is hideously complex. If you want to keep your reactors running you need metal parts. So you need a machine shop. A machine shop needs tools. The machines themselves need lubricants and oils, so you need a way to make or recycle those. You need a way to manufacture wire, which means processing copper, making plastic… well, it goes on.
There’s no theoretical reason it can’t be done, but you’d need a LOT of advance warning.