Yes, all three are grammatically correct. I would say the choice of words is more related to the degree of joy/happiness. Have a beautiful married life. (Happiest/most joyful) Have a happy married life. (Happier/average joyful) Have a nice married life. (Happy/kind of joyful). The last "Have a nice married life" if said with the wrong emphasis could be taken as sarcastic or hurtful.