The answer to your confusion is that time complements are in accusative. To clear why that answer is not enough to cover your question let me add the following:
You suppose that
'Sie ist ein Jahr alt.'
is in nominative. If that were the case you are right in writing
'Sie ist ein Tag alt.' (!)
since the case should be the same independent on the quantity (ein Tag or ein Jahr). However the assumption is wrong. Ein Jahr is in accusative, but it's difficult to notice it, because the accusative and nominative forms coincide.
Correctly, as you wrote, one uses accusative:
Dieses Baby ist einen Tag alt.