It'll be tough but I think it's within the realm of possibility, depending of course on a whole bunch of personal factors. Probably the biggest one is your weekly mileage.
Speedwork will help a ton but, for most people trying to go sub-20, increasing mileage is still going to be the best, most certain way to improve 5k time.
Case in point: last spring and early summer, I did a 5k training course. 5 runs a week, two of which were speedwork, averaged about 30 miles per week and peaked around 40. PR'd in the mid 21s.
After that race, I started a marathon training program. Very little speedwork faster than HM pace (i.e. nearly a minute slower than my 5k pace), but 18 weeks averaging 45 mpw and peaking at 60. Ran the marathon, took 10 days off (lightly jogged 2 or 3 times for maybe 10 miles total), then raced a 5k. PR'd by over 50 seconds, sub-20:30 despite having done minimal speedwork in the past 4 months.
I think having done the speedwork all year, then throwing a ton of mileage on top of it, was a great combo (the reverse direction might be even more efficient).
So, long story short is: definitely work in speedwork - my favorite is 1km at goal pace, slow jog recovery for 5 minutes, 4ish times, and then every few weeks out try to take a slightly shorter recovery period. But, unless you're already pulling 40+ miles per week, slowly and safely increasing that mileage base is still going to be the best thing you can do.