La prima e la terza variante sono ugualmente valide tanto se il figlio esiste veramente quanto se non esiste. Fosse e dovesse essere, infatti, rappresentano l'evento ugualmente come possibile, non certo. 
Neanche l'infinito passato avergli donato assicura che il figlio esista veramente, perché il momento di riferimento rispetto a cui l'atto del donare è passato potrebbe essere futuro: come potrei pensare tra vent'anni di avergli donato la vita dieci anni prima.
Il futuro sarà, invece, presuppone che il figlio esista o che sta per esistere, cioè che sta per nascere. L'indicativo, infatti, rappresenta l'evento come reale (nel passato, nel presente o, come in questo caso, nel futuro).
Fabio Ruggiano