It's idiomatic. Normally, he can do <something>. On a good day he can do more.
In this case, Phil means (probably) that he's not much good at using language at all, but that in favourable conditions he can manage to speak English. (For collectors of nautical idioms, an equivalent is 'with a following wind' - but that's not nearly as common as 'on a good day').
Student or Learner