Every 4-year-old will do whatever they can get away with. It's just how they are. It's up to you to let them know that their actions have consequences. Because of his age, the consequences should come as close to the event as possible, so he can correlate them.
You and the spousage should decide what the consequences are, and making him apologize isn't a bad one. (If I were in charge I might do that -- depends on whether we already out of the line.) But I don't know that you can make your husband do this after the fact.
I'm not sure you can make your son feel "shame" at this age, but you sure can make him know that if he doesn't want to do THAT again!
So much good luck to you!