Let me tell the whole story of vector bundles because in many books this subject is not developed properly or only in an ad-hoc manner.
Definition. Let $X$ be a scheme. A pre-vector bundle on $X$ is an $X$-scheme $V$ such that for every $X$-scheme $T$ the set of $T$-valued points $V(T)=\hom_X(T,V)$ carries the structure of a module over $\mathcal{O}_T(T)$. This structure belongs to the data. For $X$-morphisms $T \to T'$ we require that $V(T') \to V(T)$ is linear over $\mathcal{O}_{T'}(T') \to \mathcal{O}_T(T)$. There is an obvious notion of a morphism of pre-vector bundles. Thus, we obtain a category. Every morphism $X' \to X$ induces a pullback functor $V \mapsto V|_{X'}$ (the underlying scheme is $V \times_X X'$) from pre-vector bundles on $X$ to pre-vector bundles on $X'$.
An example is $\mathbb{A}^n_X$ with the usual module structure on $\mathbb{A}^n_X(T) = \mathcal{O}_T(T)^n$. Any pre-vector bundle isomorphic to $\mathbb{A}^n_X$ for some $n$ is called trivial. A vector bundle over $X$ is a pre-vector $V$ bundle over $X$ which is locally trivial, i.e. there is an open covering $\{X_i \to X\}_i$ such that $V|_{X_i}$ is trivial for each $i$. We obtain a category of vector bundles.
If $E$ is a quasi-coherent module on $X$, then $\mathbb{V}(E):=\mathrm{Spec}(\mathrm{Sym}(\check{E}))$ is an affine $X$-scheme with $\mathbb{V}(E)(T) = \hom_{\mathcal{O}_T}(p^* \check{E},\mathcal{O}_T)$ for $p : T \to X$. This set has a canonical $\mathcal{O}_T(T)$-module structure, so that $\mathbb{V}(E)$ becomes a pre-vector bundle. Observe that $\mathbb{V}(\mathcal{O}_X^n)=\mathbb{A}^n_X$ is the trivial vector bundle. Hence, if $E$ is locally free, then $\mathbb{V}(E)$ is a vector bundle. Clearly this defines a functor $\mathbb{V}(-)$ from the category of locally free sheaves to the category of vector bundles over $X$.
Theorem. The functor $\mathbb{V}(-)$ is an equivalence of categories.
Proof. First, $\mathbb{V}(-)$ is fully faithful: Let $E,F$ be locally free sheaves on $X$. We claim that $\hom(E,F) \to \hom(\mathbb{V}(E),\mathbb{V}(F))$ is a bijection. Actually we have a morphism of sheaves $\underline{\hom}(E,F) \to \underline{\hom}(\mathbb{V}(E),\mathbb{V}(F))$ on $X$ and we claim that this is an isomorphism. This way we can work locally and thereby assume that $E,F$ are trivial, say $E=\mathcal{O}_X^n$ and $F=\mathcal{O}_X^m$.
Then $\underline{\hom}(E,F)$ becomes a sheaf of matrices $\mathcal{O}_X^{m \times n}$. The sheaf of $X$-morphisms $\mathbb{A}^n_X \to \mathbb{A}^m_X$ is $\mathcal{O}_X[t_1,\dotsc,t_n]^m$. One checks (!) that a morphism $\mathbb{A}^n_X \to \mathbb{A}^1_X$ corresponding to a polynomial in $\mathcal{O}_X[t_1,\dotsc,t_n]$ is a morphism of vector bundles iff this polynomial is linear. This shows $\underline{\hom}(\mathbb{V}(E),\mathbb{V}(F)) \cong (\mathcal{O}_X^m)^n$, which finishes the proof.
Secondly, $\mathbb{V}(-)$ is essentially surjective: Let $V$ be a vector bundle on $X$. Choose a cover $\{X_i \to X\}$ and a trivialization $\phi_i : V|_{X_i} \cong \mathbb{V}(\mathcal{O}_{X_i}^n)$ (here $n$ may depend on $i$). By fully faithfulness, the resulting isomorphisms $\phi_{ij} := \phi_i |_{X_i \cap X_j} \phi_j^{-1} |_{X_i \cap X_j}$ are induced by isomorphisms $\psi_{ij} : \mathcal{O}_{X_i \cap X_j}^n \cong \mathcal{O}_{X_i \cap X_j}^n$. Since $\phi_{ij}$ satisfy the cocycle condition, the same is true for the $\psi_{ij}$. Hence, we have a gluing data $(\mathcal{O}_{X_i}^n,\psi_{ij})$ and obtain a locally free sheaf $E$ such that $\mathbb{V}(E) \cong V$ by construction. $\square$
As already mentioned, every equivalence of categories preserves (and reflects) monomorphisms. In particular, a homomorphism of free sheaves of modules $\mathcal{O}_X^n \to \mathcal{O}_X^m$ is a monomorphism (in the category of locally free sheaves) if and only if the induced morphism of trivial vector bundles $\mathbb{A}^n_X \to \mathbb{A}^m_X$ is a monomorphism. However, monomorphisms of locally free sheaves should not be confused with monomorphisms in the larger category of all sheaves of modules, and monomorphisms of vector bundles should not be confused with monomorphisms of schemes, let alone morphisms of schemes whose underlying map of sets is injective, or injective on the fibers - which seems to be the usual ad-hoc definition of a subbundle.
For example, consider a regular global section $s$ of $\mathcal{O}_X$. Then $s : \mathcal{O}_X \to \mathcal{O}_X$ is a monomorphism of sheaves, hence also of locally free sheaves. The induced morphism of vector bundles $\mathbb{A}^1_X \to \mathbb{A}^1_X$ corresponds to the polynomial $s * t$. If $s$ is invertible, it is an isomorphism. If not, choose some $x \in X$ such that $s_x \in \mathfrak{m}_x$, i.e. $s(x)=0$ in $\kappa(x)$, so that on the fiber of $x$ we get the the zero morphism $\mathbb{A}^1_{\kappa(x)} \to \mathbb{A}^1_{\kappa(x)}$, whose underlying map of sets is not injective.
If $X$ is a paracompact topological space, $\operatorname{Vect}_k(X) \cong [X, BO(k)] = [X, \operatorname{Gr}_k(\mathbb{R}^{\infty})]$ where $\operatorname{Vect}_k(X)$ denotes isomorphism classes of real rank $k$ vector bundles on $X$ and the square brackets denote homotopy classes of maps. In particular,
$$\operatorname{Vect}_1(X) \cong [X, \operatorname{Gr}_1(\mathbb{R}^{\infty})] = [X, \mathbb{RP}^{\infty}] = [X, K(\mathbb{Z}_2, 1)] \cong H^1(X; \mathbb{Z}_2).$$
Under this identification, the isomorphism class of a line bundle $L$ on $X$ is identified with its first Stiefel-Whitney class $w_1(L)$. So $L$ is trivial if and only if $w_1(L) = 0$ (i.e. $L$ is orientable).
Every open subset of $\mathbb{R}^n$ is paracompact (metric spaces are paracompact), so we can use the above characterisation in order to answer your question.
The open set $U = \mathbb{R}^2\setminus\{(0,0)\}$ in $\mathbb{R}^2$ deformation retracts onto $S^1$, so
$$\operatorname{Vect}_1(U) \cong H^1(U; \mathbb{Z}_2) \cong H^1(S^1; \mathbb{Z}_2) \cong \mathbb{Z}_2.$$
Therefore, there is a non-trivial line bundle on $U$.
However, if we take $U$ to be contractible, then the claim holds.
Note, there are non-contractible open sets of $\mathbb{R}^n$ such that every vector bundle on them is trivial. For example, $U = \mathbb{R}^4\setminus\{(0,0,0,0)\}$ which deformation retracts onto $S^3$. Either by the above characterisation or by using the clutching construction, we see that $\operatorname{Vect}_k(U) \cong \pi_2(O(k))$. As the second homotopy group of any Lie group is zero, we see that every vector bundle on $U$ is trivial.
Best Answer
No, there are many counterexamples. Any surjective map of line bundles on a locally ringed space is an isomorphism, because any surjective module endomorphism of the regular module over a local ring is in fact an isomorphism (if $f:R\to R$ is the endomorphism, then $f(r)=r\cdot f(1)$, and if $f(u)=1$, then $uf(1)=1$ so $f$ is multiplication by a unit). Therefore if $S$ has any line bundles not isomorphic to $\mathcal{O}_S$, you have found a counterexample.