Indeed. At least, it's much better than the explanation I came up with. I'd come to the conclusion that every station on the bridge had weapons controls. But of course, when Kirk gives the order to fire, not everybody can push their "fire" buttons at the same time, because that would destroy the enemy too quickly. I theorized that there was a rotating schedule of who got to be in charge of weapons. Remember back in the first grade, when there was a list of who got to be the line-leader on any given week? Something like that. "This week, the navigator has the weapons. Helm next week." Perhaps it was even something like a shift lottery, with people jockeying and competing for prime weapons control periods. Like, when somebody found out that next week the Enterprise would be surveying an uncharted region, they would naturally want to be in charge of the weapons during that time, because there was the potential for something cool to happen. On the other hand, when it came time for border patrol, nobody really wanted to work the weapons, because whoever was in charge of them on those missions would obviously be doing some mandatory overtime. That's why the low-ranking ensign always got stuck with the job during a Klingon incident.
What's more, the captain was unaware of who the scheduled weapons person was at any given time - that's why his weapons orders were directionally ambiguous. Think about it: whenever Kirk needed to give a command regarding any other department, he addressed that officer by name.
Helm: "Sulu, get us out of here!"
Engineering: "Scotty, I need more power!"
Communications: "Uhura, get me Starfleet!"
But weapons? Nobody in particular. He never said "Sulu, charge the phaser banks" or "Chekov, arm the torpedoes". He just said "Standby weapons!" Why? Because he didn't know who to direct the order to this week.