If X is a set and A is a subset of X containing at least two elements, then certainly for any element $a \in A$, the principal ultrafilter of $a$ contains the principal filter of A (which is NOT an ultrafilter). Are all ultrafilters containing the principal filter of A of this form, or are there non-principal examples? (I'm assuming axiom of choice etc.)

If a filter $X$ contains any set $A$, then it contains the principal filter of $A$. Thus you are really asking: for which subsets $A$ of a set $X$ can a free ultrafilter contain $A$?

It is a standard exercise to see that such free ultrafilters exist iff $A$ is infinite.

Let me briefly sketch the proof:

1) If an ultrafilter contains a finite union of sets $A_1,\ldots,A_n$, then it contains $A_i$ for at least one $i$. Thus an ultrafilter which contains any finite set is principal.

2) If $A$ is infinite, consider the family $F$ of subsets which either contain $A$ or have finite complement. Then $F$ satisfies the finite intersection condition, so is a subbase for a filter $\mathcal{F}$ (see e.g. Exercise 5.2.5 of http://math.uga.edu/~pete/convergence.pdf). Then it can be extended to an ultrafilter which, since it contains the Frechet filter, is free.