In the poset of all filters (extending $\mathcal{F}$) under inclusion, a maximal element is an ultrafilter in your sense:
Suppose $\mathcal{M}$ is maximal and extends $\mathcal{F}$, and $A \subseteq X$ and $A \notin \mathcal{M}$, then suppose there some $B \in \mathcal{M}$ exists with $A \cap B = \emptyset$. Then $B \subseteq A^\complement$ and so $A^\complement \in \mathcal{M}$ and we're done. If this is not the case, i.e. $$\forall B \in \mathcal{M}: B \cap A \neq \emptyset\tag{1}$$
then we can define $$\mathcal{M}' = \{B \subseteq X: \exists C \in \mathcal{M}: C \cap A \subseteq B\}\tag{2}$$ and $(2)$ defines a filter that extends $\mathcal{M}$ (so $\mathcal{F}$ too) and contains $A$, so $\mathcal{M} \subsetneq \mathcal{M}'$, contradicting maximality of $\mathcal{M}$. So the second case does not occur and we're done showing $\mathcal{M}$ is an ultrafilter.
Now, the question of being free is a definitional matter: usually this is defined to mean (for any filter) that $\bigcap \mathcal{F} \notin \mathcal{F}$ and for your notion of ultrafilter this is equivalent: if $\mathcal{M}$ is an ultrafilter, $\{a\} \in \mathcal{M}$ iff $\{a\} = \bigcap \mathcal{M}$ iff $\mathcal{M} = \{A \subseteq X: a \in M\}=: \mathcal{M}_a$.
If $\mathcal{F} \subseteq \mathcal{M}$ and $\{a\} \in \mathcal{M}$ this implies that $A \in \mathcal{F} \to A \in \mathcal{M} \to \{a\} \cap A \neq \emptyset \to a \in A$, so $a \in \bigcap \mathcal{F}$. But this is not a direct contradiction with being free in your sense. In fact if $\mathcal{F}$ are all supersets of the even integers in the set of all integers $X$, then it is free in your sense but one possible extension that is maximal is all subsets that contain $0$, which is not free in your sense. So there is no insurance directly that we'll get a free ultrafilter from a free starting filter. But this can be helped if $\mathcal{F}$ contains no finite subset: in that case define $$\mathcal{F}' = \{C \subseteq X: \exists F \in \mathcal{F} \exists P \subseteq X \text { finite }: (F\setminus P) \subseteq C\}\tag{3}$$
and check that $\mathcal{F}'$ defines a filter on $X$ that extends $\mathcal{F}$
and then check that any maximal filter that extends $\mathcal{F}'$ is a free ultrafilter extending $\mathcal{F}$.
if however $\mathcal{F}$ contains a finite subset there can be no free ultrafilter extending it:
Let $A \in \mathcal{F}$ be finite, say $A=\{a_1, a_2, \ldots, a_n\}$. If $\mathcal{M}$ extends $\mathcal{F}$ and is free, $\{a_i\}^\complement \in \mathcal{M}$ for $i=1,\ldots,n$ and so $A^\complement = \bigcap_{i=1}^n \{a_i\}^\complement \in \mathcal{M}$ as filters are closed under finite intersections, contradicting $A \in \mathcal{M}$ (as $\mathcal{M}$ extends $\mathcal{F}$). So $$\mathcal{F}= \{A \subseteq \Bbb N: \{0,1,2\} \subseteq A\}$$
is a counterexample to your statement. Unless you redefine "free" of course.