Unfortunately neither suggested translation is correct.
In Latin de is a preposition meaning "(down) from", although similar words are used to express the genitive in Romance languages.
What you need is the nominative of the son (filius is the nominative) and genitive of the forest (the genitive of silva is silvae).
So the translation should be filius silvae.
As pointed out in a comment, one option is to use an adjective instead of a genitive.
Latin has the adjective silvestris, "related to forest".
Therefore you have the alternative filius silvestris.
This could mean a son that likes spending time in forests or who grew up in one.
The genitive is the way to go when the possession is more concrete.
If a specific forest is somehow to be considered the father, then filius silvae is definitely the way to go.
As usual, context matters a lot.
Fortunately filius silvae is a good general translation.