The standard estimator of the covariance matrix is:
$$\widehat{ \mathrm{cov}}(X) = \frac 1 {n-1} \sum_{i=1}^n (X_i-\bar X)(X_i-\bar X)^T,$$
where $X_i$ is the column vector containing the $i$th observation of all the observables. Each summand is an outer product of a vector with itself, i.e., a square matrix having rank at most one. Therefore
$$\mathrm{rk\;}\widehat{\mathrm{cov}}(X) \le n$$
and the matrix not only can be but is always singular if
$$n \lt \dim X,$$
i.e., if the number of observations is less than the number of variables.
Edit: regarding positive-semidefiniteness: $\widehat{ \mathrm{cov}}(X)$ is always positive-semidefinite because it is Gramian, even if its rank is not full. It loses the property of being positive-definite if and only if it is singular.