A 3 yr old child who is hitting other children is unhappy and anxious. It may be because of what is happening at home (as i just read) and also starting nursery as well.
Instead of punishments he needs a lot of love, affection and positive attention. Getting angry with him when he gets home will only make it worse. When he is at home try ignoring any unwanted behaviour and praise him all the time, every little thing he does and give rewards for really good behaviour.
If he hits out at home then all you need to do is tell him firmly 'no he must not hit', you could say why we dont hit people, its makes them feel sad, and stop playing with him or take the toy away for a short time. Then carry on playing without mentioning it again.
You could talk to him about feelings and ask him to tell you when he feels cross or sad instead of hitting. Doing this yourself when cross will help him to do it.
I would also talk to the nursery staff and ask them what they do when he hits other children. Ask them if they praise him when hes not doing it. Its important that they do this to boost his self esteem and make him feel less anxious about being there.
Hope this helps.