Sounds like the front end web application is using a specific user account that does not have access (or no longer has access) to the database it's trying to reach. In some cases with web apps, they may be using an account, that yet uses another account to actually make a connection to the database from their business layer (sort of like a proxy account).
It could also be a scenario where the procedure is calling another procedure, or function, or view, etc in another database that the web account can't reach...
Your web developers need to do some digging to let you know exactly which account is being used, and which procedure is being called. It shouldn't be very difficult for them to pinpoint.
Never argue with an idiot; Theyll drag you down to their level and beat you with experience