If you are wiling to assume that $C$ has a terminal object $1 \in C$, which I assume is the case as you said all finite products, you can do the following:

(As it is not clear if you are interested in a $1$-categorical statement or an $\infty$-categorical statement I'll write the proof in a very formal style which should accomodate $\infty$-categories as well with a little bit of work)


Saying that $F:C \rightarrow D$ preserve fiber products means that $F_{/1}: C \rightarrow D_{/F(1)}$ preserves all finite limits (as it preserve pullback and the initial objects).

In particular the induced functor $Prsh(C) \rightarrow Prsh(D_{/F(1)}) $ preserves all finite limits by your "well known fact".

But $Prsh(D_{/F(1)})$ identifies canonically with $Prsh(D)_{/y_D(F(1))}$ and $y_D(F(1))$ is $F_!(y_C(1))$ with $y_C$ being the terminal object of $Prsh(C)$.

In the end the functor: $F_!$ preserve all finite limits when seen as a functor from $Prsh(C)$ to $Prsh(D)_{/F_!(1)}$ but this means that $F_!$ preserve fiber product as asked.

---------------------

I have ignored the fact that $D$ does not have all finite limits as, as far as I know, this has never been part of the assumption of your "well known fact".

Indeed, if $C$ has all finite limits and $F:C \rightarrow D$ preserve them, then in order to check that $F_!$ preserve finite limits one justs need to check that for all $d \in D$ the functor  $X \mapsto Hom(d,F_! ( X))$ from $Prsh(C)$ to $Set$ preserves all finite limits.

This functor is the left Kan extention along the Yoneda embedings of $C$ of the functor $C \rightarrow Set$ which send $c$ to $Hom(d,F(c))$, which commutes to finite limits by definition.

So in the end the relevant fact is that if $C$ has finite limits $F:C \rightarrow Set$ preserves them then its left Kan extention $Prsh(C) \rightarrow Set$ also preserve finite limits. But existence of limits in $D$ never really played a role.

--------------

I'm adding a counter example to show that the assumption that $C$ has a terminal object cannot be completely relaxed.

Let $C$ be a group $G$, seen as a one object category. And let $D$ be the terminal category. With $F:C \rightarrow D$ the unique functor.

The category $C$ have no terminal object but it has all fibered product (because all map are isomorphisms), and the functor $F$ preserve all fibered product limits (in fact we have both that any functor out of $C$ and that any functor to $D$ preserves all fibered product)

But $F_!$ is the functor from $G$-set to set which send any $G$-set to its quotient $X/G$.

$F_!$ send the terminal object to the terminal object but does not preserve product if $G$ denotes $G$ with its multiplication action on itself then $F_! (G \times G) = G$ but $F_!(G)=\{*\}$.


Two remarks: 

- I do not know if there are other condition than having a terminal object that allow this sort of result to work.

- This examples suggest that things might work better if one work with $\infty$-categories and $Prsh$ means space valued presheaves. I do not the status of this.