Ultrafilters preserving infinite joins

A filter $$U$$ over a boolean algebra $$A$$ (isomorphic to a powerset algebra) "preserves" a join $$a = \bigcup_{i\in I}a_i$$, if $$a\in U$$ implies $$a_i\in U$$ for some $$i\in I$$. A join $$a$$ is infinite if $$I$$ is. There exist ultrafilters preserving countable sets of infinite joins and, moreover, for an arbitrary non-zero element $$e \in A$$, there is such an ultrafilter containing $$e$$.

The question is: if we have given a subset $$S\subset A$$ with finite intersection property (each non-empty finite subset $$T\subseteq S$$ has a non-zero meet), and a countable set of infinite joins in $$A$$, does there exist an ultrafilter containing $$S$$ and preserving these joins? If the general answer is negative, are there any additional conditions on $$A$$ or $$S$$ that ensure the existence of such an ultrafilter?

This is certainly not true in general. For instance, if you take a single infinite join $$1=\bigcup a_i$$ where the $$a_i$$ are disjoint, and let $$S$$ consist of the complements of all the $$a_i$$, then no proper filter containing $$S$$ can preserve this join. More generally, an obvious necessary condition is that for each join $$a=\bigcup a_i$$ which you want to preserve, the filter generated by $$S$$ cannot contain every $$a\setminus a_i$$. (Conversely, it is similarly obviously both necessary and sufficient that it be possible simultaneously to choose an $$i$$ for each join such that $$S$$ together with all the elements $$\neg(a\setminus a_i)$$ still has the finite intersection problem. I don't see any way to simplify that condition in general, though.)