There was another thread about this issue posted earlier today:
(It's remarkably coincidental timing, since the API change that probably exposed this issue was made a month ago.)
It seems to have been inadvertently fixed by changes made in Certbot 0.31.0 -- which does not really help you much, of course.
Edit:
The nginx plugin will always use HTTP-01 validation (currently). You don't need --preferred-challenges
since it only supports one challenge type anyway.