I’m sure this was awkward for you; you wanted to do what was right—but you also didn’t want to alienate your son. But it is your house, and you have the right to insist that guests abide by your standards while they are with you (even if their standards are different from yours).
However, your son undoubtedly knew you wouldn’t approve of what he has done; why else would he wait until he showed up to tell you? Instead, by waiting until the last minute I suspect he hoped to force you into accepting his new living arrangement (or at least keeping quiet about it). In other words, he put you in this awkward situation, and you shouldn’t feel guilty over it.
The important thing, however, is to look to the future and to do all you can to keep the door open. Assure your son that you love him, even if you disagree with what he is doing right now. If possible, avoid quarreling with him; it will only drive him away. The Bible says, “The Lord’s servant must not quarrel; instead, he must be kind to everyone” (2 Timothy 2:24).
Most of all, pray for him, and urge him to face his need of Christ. Right now, he has turned his back on God—but God hasn’t turned His back on him, and in time your son well may return to the spiritual foundations you gave him when he was younger.