This is an excellent question since 'nos' is a feminine noun.
There was a very long discussion about this in the facebook group 'dw i'n dysgu cymraeg' some months ago.
The simple reason is that 'nos dda' is actually very difficult to say and thus 'nos da' is used instead.
Remember the point of mutations is to make the language flow better.
However in general use, apart from greetings' the word for night is 'noson'
In this case 'a good night' uses the correct mutation 'noson dda'
One of the most used expressions of 'noson' is the very Welsh event called a 'noson lawen', literally 'a merry evening'
In North Wales recently (somewhere around Dolgellau), leaving a shop just after lunch-time (1300hrs-1330ish), the proprietor said 'Nos da' to us as we left. It clearly was not night, and I think he meant a general goodbye. I have heard somewhere (where i can't remember!) that nos kicks in as a greeting on meeting and parting after noon. If this is so, should Duo include 'good evening' as an option here?