If an app has one machine for user interface and the other machine for business logics, shall we call it two-tier application?
I think, Yes. If you have a local storage in this machines (not remote 3-Tier storage)
IMHO - It Depends. In a Typical 2 Tier Application. (UI + Business Logic) are Packaged in one Tier and Database as 2nd Tier or UI in One Tier and Business Logic & Database in another tier or both. In Short, there should be only two participating Tier of Components
Example in Real World: Playing a Movie at Home
TV (UI layer) + DVD Player (Business Logic) + DVD - All in our Home - 1 Tier
TV (UI Layer + Media Player) + USB (with Movies) or TV (UI Layer) + USB (Movies with Media Player) - 2 Tier
TV (NetFlix App) + NetFlix App Server + Netflix Movie Store (Database) - N Tier