Yes.  This is the content of the final section of my paper [Codensity and the ultrafilter monad](http://www.tac.mta.ca/tac/volumes/28/13/28-13abs.html).  Loosely, what's shown there is:

> There is a standard piece of categorical machinery which, when fed as input the concept of finiteness of a family of structures, produces as output the concept of ultraproduct.

Let me say immediately that the result is due not to me, but to the anonymous referee.  In the version of the paper I submitted to the journal (and in earlier arXiv versions), the final section essentially said "it looks like we should be able to describe the ultraproduct construction as a codensity monad, but I don't see how".  The referee showed how, and I've included his or her theorem in the final version of the paper.

The "standard piece of categorical machinery" is the notion of codensity monad.  "Recall" that (subject to the existence of certain limits) any functor $G\colon \mathcal{B} \to \mathcal{A}$ induces a monad on $\mathcal{A}$, the **codensity monad** of $G$.  In the case where $G$ has a left adjoint $F$, this is just the monad $GF$, but codensity monads are defined in much wider generality.

(If you don't know what a monad is, then for the purposes of this answer, you can interpret "monad on $\mathcal{A}$" as "functor $\mathcal{A} \to \mathcal{A}$", although it's rather more than that.)

Fix a category $\mathcal{E}$ with small products and filtered colimits.  (In model theory, this might typically be the category of structures for some finitary signature.)  Let $\mathbf{Fam}(\mathcal{E})$ be the category in which an object is a set $X$ together with a family  $(S_x)_{x \in X}$ of objects $S_x$ of $\mathcal{E}$.  I'll skip the definition of the maps, but you can find it in my paper.  

The ultraproduct construction determines a monad on $\mathcal{E}$, as follows.  Given a family 
$$
S = (S_x)_{x \in X}
$$
of objects of $\mathcal{E}$, taking ultraproducts gives us a new family
$$
\Bigl( \prod\nolimits_{\mathcal{U}} S \Bigr)_{\text{ultrafilters } \mathcal{U} \text{ on } X}
$$
of objects of $\mathcal{E}$.  So, it's plausible that the ultraproduct construction gives at least a functor $\mathbf{Fam}(\mathcal{E}) \to \mathbf{Fam}(\mathcal{E})$.  In fact, it gives not just a functor but a monad on $\mathbf{Fam}(\mathcal{E})$, the **ultraproduct monad** for $\mathcal{E}$.

The theorem is that this is a codensity monad.  Specifically, let $\mathbf{FinFam}(\mathcal{E})$ be the full subcategory of $\mathbf{Fam}(\mathcal{E})$ consisting of those objects $(S_x)_{x \in X}$ in which the indexing set $X$ is finite.  Then:

> **Theorem** The codensity monad of the inclusion functor $\mathbf{FinFam}(\mathcal{E}) \hookrightarrow \mathbf{Fam}(\mathcal{E})$ is the ultraproduct monad for $\mathcal{E}$.