If you have a log backup job or an incremental backup job which explicitly mentions a database which does not exist, then that's a problem. Disabling the job is great, unless something else is enabling it. For example at one environment I worked, there were custom script in place where "driver jobs" enabled other jobs based upon table values. So there was a "config table" which listed databases and which jobs to run against it. If you deleted a database, but didnt update some routine which generates maintenance jobs based on a list of database, you could encounter the scenario you are seeing.
So if your job is disabled, but it's running, you need to figure out what is enabling it. Take a look at the errorlog- is some other job running immediately before this particular job runs? Is that job enabling the job you disabled?