This scenario is different then a scenario where a parent is estranged through no fault of their own. In this case, both the estranger and estranged are victims of events that caused the conflict. It is the same as in my case of estrangement.
My mothers abuse led to her abuse of me. In this case, we are both victims. In the OP's case, the partner's experience of loosing a child, understandably, led to undesirable behavior which in turn victimized son. Both parties are victims.
In both cases, the person estranging (me and the OP's son) did so because they felt they needed to protect themselves. Understandable.
Here are the differences in our scenarios though.
My dad stood by my mom and never did anything to stand up for his children, even tough he knew her behavior was abusive. Even now, he tells me to just put up with her abuse because it is the easiest route for him. I am sure you can guess my feelings about having a relationship with him.
In the OP, dad is trying to support both his child and his wife by standing by them both. Why should he have to give up his relationship with his child and grandchildren? How is that beneficial to the Grandchild? Based on posts I have seen on these threads for years, it is thought that it is never beneficial to deprive a grandchild the right to a relationship with a loving grandparent unless there are clear cases of abuse. Why is this case any different?
If the OP chose between his wife and his child, it would ruin his relationship with his child EVEN IF wife and son resolve the estrangement. No matter what, son is always going to look at dad as the person who did not champion him while he lost his sister, then his mother. Son will look at a Grandparent who chose not to have a relationship with his Grandson.
I am thankful every day that my Grandmother always chose not to take my mother's side in our estrangement out of duty or loyalty to my mom. I know how I would feel if she had.
Only the OP can decide what to do, but I hope that sharing my experience will offer a different viewpoint.