What if a weak acid is added? Would'n't we need the ka of the weak acid to determine how much of it will disassociate into H3O+ ions?
In general, if a weak acid is added, you are in troubles. Its dissociation means moving the equilibrium of the buffer, there is no simple and painless way of calculating new pH of the solution. In specific cases you can think about simplifying assumptions, but general case is a PITA.
If you add the same acid that is already present, you can assume it doesn't dissociate, it just adds to the concentration of acid already present. That's not entirely true, but in most cases error you make with this assumption can be safe neglected.