Why does an acid salt possess acidity as well as basicity?
This is because Barium Hydrogen Phosphatev ($\ce{BaHPO4}$) is an amphoteric species:


  In chemistry, an amphoteric species is a molecule or ion that can
  react as an acid as well as a base


(Wikipedia)

Whether it acts as a base or as an acid depends on the medium the salt is dissolved. In a pure water solution, it's an acid, since the following occurs:

$$\ce{BaHPO4 + H2O &lt;=&gt; Ba^2+ + PO4^3- + H3O+}$$

The phosphate ion also has its reactions with water forming other species:

$$\ce{PO4^3- + H3O+ &lt;=&gt; HPO4^2- + H2O}$$

$$\ce{HPO4^2- + H3O+ &lt;=&gt; H2PO4^- + H2O}$$

Since these are all weak bases, you won't "consume" all $\ce{H3O+}$ and the solution will be acid.

If, however, you add a strong acid, the scenario changes:

$$\ce{BaHPO4 + H3O+ &lt;=&gt; Ba^2+ + H2PO4^- + H2O}$$

You'll still have all phosphate species as above, but now Barium Hydrogen Phosphate has acted as a base, since it received some hydrogen atoms, which is a Brønsted-Lowry base definition.

Remember the same kind of behaviour happens with water, even if pure, because of self ionization:

$$\ce{2H2O &lt;=&gt; H3O+ + OH-}$$

Here, water acted as both the base and the acid, which is why it's an amphoteric species.