Does $A=\{a|\forall x\in \emptyset\ H(x,a) \}$ make sense? What happens if I define a set $A=\{a|\forall x\in \emptyset\ H(x,a)  \}$, where $H$ is some property ? $\forall x\in \emptyset\ H(x,y)$ should be always true, since it is vacuously true, right? So this set $A$ shouldn't exists, or it would be "the set of all sets".
 A: That's why using some property $P(a)$ (in your case $P(a)=(\forall x\in\emptyset)H(x,a)$) we can construct a set only from some set that has already been constructed.
I.e., you can construct the set $\{a\in B; P(a)\}$, where $B$ is some given set. (This is the approach in naive set theory, if you've learned something about axiomatic set theory, this is formulated in Axiom of separation.)
This is briefly explained in the Wikipedia article on set-builder notation.
A: (to complement a bit on Martin's answer with regards to arbitrary collections with respect to ZFC)
The modern approach is that $\{a\mid P(a)\}$, for some property $P$, is a class. This class may or may not be a set. The main difference is that sets can be (read: are) elements of other classes; classes cannot be elements of other classes.
If we assume (for the sake of discussion) that ZFC is consistent then it has a model, let us call it $V$. From the Russell and Cantor paradoxes, we know that $V$ cannot think of $V$ as a set. In fact, $V$ is a cocky piece of mathematical object and thinks of himself larger than any possible set, and that every possible set is already an element.
However if we consider the $V$ externally then it may be a set in some larger universe (which is possibly a set in a larger universe, and so on...). The point is that from an internal point of view, $V$ cannot work with arbitrary collections of elements. If we have a class, which is defined in such a nice way as above then we can write theorems about this class despite the fact that it is not an element of the model. This means that we cannot say that $A\in V$ if $A$ is such class, but we can talk about "elements in $A$" as if $A$ were to be a set.
Consider $V=\{a\mid a=a\}$, this is the entire universe. The entire collection of sets available to us in a certain interpretation of ZFC. $V$ is not a set at all from its own point of view. It is still a definable collection, and we may prove theorems about this class. However handling these collections require a bit more carefulness.
Another important example is the constructible universe denoted by $L$, which is essentially the smallest transitive class-model of ZFC with the same ordinals as the original universe. There exists some formula $\varphi(x)$ such that $\{x\mid \varphi(x)\}=L$. That is to say this formula defines a proper class, but it we can still "use" this class almost as if we were using sets when proving theorems.
For example, we can write the following theorem "If $\forall x\forall y(\varphi(x)\land\varphi(y))$ then there exists $\psi(x,y)$ such that $\{\langle x,y\rangle\mid\psi(x,y)\}$ is a well-ordering".
That is to write "There exists a definable well ordering of $L$", which is a theorem involving two classes, but in a completely valid way.
This point is quite delicate, and you should probably study some more logic and set theory in order to understand it fully. However classes are syntactic objects (as Miha comments below) and we can give them some meaning when we interpret ZFC with a model (i.e. as a semantic object).
So while classes are not objects per se of ZFC, in some cases we can still work with them if we are careful enough.
This notion is formalized fully within the set theory of von Neumann-Bernays-Gödel. This set theory is a conservative extension of ZFC, meaning if we proved something in this setting, and we did so using only sets, then there is a proof from ZFC.
In this set theory, proper classes are objects of the universe and "The class of all sets which do not contain themselves" has a perfectly valid semantical meaning.
