Step 1: Understanding zwitter ion formation.
A zwitter ion is a dipolar ion having both positive and negative charges in the same molecule.
It is formed when an acidic group donates a proton and a basic group accepts that proton.
\[
\mathrm{-COOH \rightarrow -COO^- + H^+}
\]
\[
\mathrm{-NH_2 + H^+ \rightarrow -NH_3^+}
\]
Step 2: Case of 2-aminoethanoic acid.
2-aminoethanoic acid is glycine:
\[
\mathrm{NH_2CH_2COOH}
\]
The carboxyl group donates \(H^+\), and the amino group accepts it.
So, it exists as:
\[
\mathrm{^{+}NH_3CH_2COO^-}
\]
Hence, glycine exists as a zwitter ion.
Step 3: Case of p-aminobenzene sulphonic acid.
In p-aminobenzene sulphonic acid, the sulphonic acid group \(-SO_3H\) is a strong acidic group.
It can donate a proton to the amino group.
Thus, the molecule exists mainly as a dipolar ion:
\[
\mathrm{^{+}NH_3-C_6H_4-SO_3^-}
\]
So, p-aminobenzene sulphonic acid can also exist as a zwitter ion.
Step 4: Case of p-aminobenzoic acid.
In p-aminobenzoic acid, the acidic group is \(-COOH\), which is weaker than \(-SO_3H\).
Also, the \(-NH_2\) group attached to benzene is less basic because its lone pair is delocalised into the aromatic ring.
Therefore, proton transfer is not strong enough to make it exist predominantly as a zwitter ion.
Step 5: Checking the assertion.
The assertion says that 2-aminoethanoic acid and p-aminobenzene sulphonic acid can exist as zwitter ions, while p-aminobenzoic acid cannot.
This statement is correct.
Step 6: Checking the reason.
The reason says that zwitter ion formation occurs when the acid group is a relatively strong proton donor and the \(-NH_2\) group is sufficiently basic to accept \(H^+\).
This is also correct.
Step 7: Final conclusion.
The reason correctly explains why some amino acids or amino sulphonic acids form zwitter ions while p-aminobenzoic acid does not.
Thus, both Assertion and Reason are correct, and Reason is the correct explanation of Assertion.
\[
\boxed{\text{Option (A)}}
\]