Unfortunately, North Carolina is not very generous about what they remove from a record. They will expunge only certain types of first arrests for offenders under 21. Other adult convictions are not expungeable.
That doesn't mean your son can't do anything at all about his record. I can offer you two other possibilities to clean that record:
The first would be to apply for a pardon from the governor. That would not erase the record but would display his conviction as having been pardoned, which is official proof from the state's highest ranking official that he has turned his life around. Pardons are free. And no lawyer is necessary to apply, so he's got nothing to lose by filling out the form and giving it a try. Additionally, if he has not been in any further trouble for 25 years, he'll be a better candidate than most applicants. He can get the forms for this directly from the North Carolina Office of Executive Clemency.
The second option would be for him to pay a lawyer to have him petition to reopen his case with a view to getting it dismissed in the interest of justice. Judges have the power to dismiss a case under their powers of equity, even where the law does not provide for a dismissal. They are very cautious and sparing in their use of this power, and some will refuse to entertain a petition on these grounds at all. But they will do it to prevent an injustice.
He could probably find some North Carolina criminal lawyers who give free or low cost first consultations to get a sense of how likely this would be to work before he pays a couple of thousand dollars to a lawyer to try to get this done.
Good luck, and best wishes to you and yours for the holiday season.