If $\text{Ker}(A) \ne \{0\}$, $A$ certainly doesn't have the property, as you can take $B$ whose columns are all copies of a nonzero member of $\text{Ker}(A)$ and have $AB$ all $0$. So assume $\text{Ker}(A) = \{0\}$.
Now the columns of $AB$ are $p$ arbitrary members of $\text{Ran}(A)$ other than $0$. The question is whether there are $p$ members of $\text{Ran}(A)$ which together have at least one $0$ in every position. Let $V = \text{Ran}(A)$, which is a linear subspace of ${\mathbb R}^n$ of dimension $r = \text{rank}(A)$. Let ${\cal F}$ be the collection of sets $S \subseteq \{1,\ldots,n\}$ such that $\dim \{v \in V: v_i = 0 \; \forall i \in S\} > 0$. The condition then is that there do not exist $p$ members of $\cal F$ whose union is $\{1,\ldots,n\}$.
Note that $S \in {\cal F}$ is equivalent to $\text{Ker}(A_S) \ne \{0\}$, where $A_S$ is the $|S| \times m$ submatrix of $A$ consisting of the rows in $S$. In particular, $S$ contains all sets of cardinality $<r$. So certainly $p(r-1) < n$ is a necessary condition. But there may also be sets of greater cardinality, so this is not sufficient.
For a given $A$, even if you list all maximal members of $\cal F$ (and there might be a lot of them) you have a "set-covering problem" to determine if there are $p$ such sets that cover $\{1,\ldots, n\}$, so this might be a nontrivial computational problem.